package com.baizhi.cmfz.dao;

import com.baizhi.cmfz.entity.AddressDTO;
import com.baizhi.cmfz.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao {
	/**
	 *
	 * @param offset 查询时要显示的第几条数据
	 * @param limit 要显示的数据的条数
	 * @param name 模糊搜索的名字
	 * @return 返回符合条件的所有结果的集合
	 */
	List<User> selectUserPage(@Param("offset") int offset, @Param("limit") int limit, @Param("name") String name);


	/**
	 *
	 * @param name 根据参入的模糊搜索的字符串进行搜索
	 * @return 返回符合条件的总数
	 */
	int selectCount(@Param("name") String name);

	/**
	 *
	 * @param userId 要修该的数据的id
	 * @param userStatus  要修改的状态码
	 * @return 返回受影响的行数
	 */
	int userUpdate(@Param("userId") int userId, @Param("userStatus") int userStatus);

	int multiInsertUser(List<User> users);


	/**
	 *
	 * @return  返回近三个月的注册人数
	 *
	 *
	 */
	List<Integer> selectUserDTO();

	List<Integer> selectUserSexDTO();

	List<AddressDTO> selectAddressCount();

}
